/* 
 * File:   lcd19264.h
 * Author: Administrator
 */

#ifndef Lcd_H
#define	Lcd_H

#include "ascii.h"
#include "cn_16_16_index.h"
#include "lcd19264_hal.h"

#ifdef	__cplusplus
extern "C" {
#endif

#define LCD_RAM_EN                              (1)

    typedef enum {
        FONT16 = 2,
        FONT24 = 3,
        FONT32 = 4
    } FontType;

    void LcdInit(void);
    void LcdDispHalfEn(void);
    void LcdDispHalfDis(void);
    void LcdDispAnti(void);
    void LcdDispNormal(void);
    void LcdFontSet(FontType Font);

    /******************************************************************************
     * Used to display font on your Lcd
     * If you do not use these functions, you can delet it and it's sources in the Lcd.c
     *****************************************************************************/
    void LcdPutCh(unsigned char StartPage, unsigned char StartCol, unsigned char DispCh); //the col must be multipled of 8
    void LcdPuts(unsigned char StartPage, unsigned char StartCol, unsigned char *DispStr); //the col must be multipled of 8
    void LcdPutCN(unsigned char StartPage, unsigned char StartCol, unsigned char const *pCN); //the dots must be 16*16
    void LcdPutCNs(unsigned char Page, unsigned char Col, unsigned char Amount, unsigned char const *pCN);
    void LcdLineDisp(unsigned char Page, unsigned char Col, unsigned char Wide, unsigned char const *pImg);
    void LcdImgDisp(unsigned char StartPage, unsigned char StartCol, unsigned char Wide, unsigned char PageHigh, unsigned char const *pImg); // Omnipotent
    void LcdPoll(void);
    void PutCh(unsigned char Page, unsigned char Col, unsigned char DispCh);
    void Puts(unsigned char StartPage, unsigned char StartCol, unsigned char *DispStr);
    void PutCn(unsigned char Page, unsigned char Col, unsigned char const *pCN);
    void PutCns(unsigned char Page, unsigned char Col, unsigned char Amount, unsigned char const *pCN);
    void LcdRamFill(uint8_t Val);
    /******************************************************************************/
    /******************************************************************************
     * Standalone application
     * If you do not use these functions, you can delet it and it's sources in the Lcd.c
     *****************************************************************************/

    void LcdStartLineAll(unsigned char Line);
    void LcdStartLine(unsigned char U, unsigned char Line);
    void LcdScreenFill(unsigned char Data);


    /******************************************************************************/
#ifdef	__cplusplus
}
#endif

#endif	/* Lcd_H */

